package 定长滑动窗口

// 定长滑动窗口问题 进 更 出
func maxVowels(s string, k int) (ans int) {
	count := 0
	for i, in := range s {
		if in == 'a' || in == 'e' || in == 'i' || in == 'o' || in == 'u' {
			count++
		}
		//核心是搞清楚滑动窗口的 “左右端点关系”—— 我们需要让窗口始终保持长度 k，而这个公式正是通过 “右端点 i” 反推 “左端点 left” 的关键。
		left := i - k + 1
		if left < 0 {
			continue
		}
		ans = max(ans, count)
		out := s[left]
		if out == 'a' || out == 'e' || out == 'i' || out == 'o' || out == 'u' {
			count--
		}

	}
	return ans
}
